/*
 * 
 * v1.2 by tonydon
 */
package cn.txdnet.txcms.service;

import cn.txdnet.txcms.dao.TagslibDAO;
import cn.txdnet.txcms.domain.Tagslib;
import cn.txdnet.txcms.dto.PageDTO;
import cn.txdnet.txcms.query.TagslibQuery;
import cn.txdnet.txweb.basedao.FacadeProxy;
import cn.txdnet.txweb.utils.StringUtil;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import txdnet.util.StaticMark;

/**
 *
 * @author txdnet
 */
public class TagslibService {
    /*
     * 建立tag
     * @return boolean
     */

    public static boolean make(Tagslib tag) {
        TagslibDAO dao = FacadeProxy.getManualCommitProxy(TagslibDAO.class);
        return (dao.insertTag(tag) > 0 ? true : false);
    }

    /*
     * 删除tag
     * @return boolean
     */
    public static boolean delete(int tagid) {
        TagslibDAO dao = FacadeProxy.getManualCommitProxy(TagslibDAO.class);
        return (dao.deleteTag(tagid) > 0 ? true : false);
    }

    /**
     * 更新分类
     *
     * @param ids
     * @param channeltype
     * @param cid
     * @param ctp
     * @return
     */
    public static int updateChannelAndCatalogBatch(String ids, byte channeltype, int cid, String ctp) {
        Map<String, Object> m = new HashMap<String, Object>(4);
        m.put("ida", StringUtil.parseStrToIntArray(ids, StaticMark.STR_LINE));
        m.put("cid", cid);
        m.put("ctp", ctp);
        m.put("channeltype", channeltype);
        TagslibDAO dao = FacadeProxy.getManualCommitProxy(TagslibDAO.class);
        return dao.updateChannelAndCatalog(m);
    }

    /**
     * 批量更新发布状态
     *
     * @param ids
     * @param pubstate
     * @return
     */
    public static int updatePubstateBatch(String ids, byte pubstate) {
        Map<String, Object> m = new HashMap<String, Object>(2);
        m.put("ida", StringUtil.parseStrToIntArray(ids, StaticMark.STR_LINE));
        m.put("pubstate", pubstate);
        TagslibDAO dao = FacadeProxy.getManualCommitProxy(TagslibDAO.class);
        return dao.updatePubstate(m);
    }

    /**
     * 更新tagname
     * @param tagid
     * @param tagname
     * @return 
     */
    public static boolean updateTagname(int tagid, String tagname) {
        Tagslib tag = new Tagslib();
        tag.setTagid(tagid);
        tag.setTagname(tagname);
        TagslibDAO dao = FacadeProxy.getManualCommitProxy(TagslibDAO.class);
        return dao.updateTagname(tag) > 0 ? true : false;
    }

    /*
     * 查询标签
     * @return List<Tagslib>
     */
    public static PageDTO queryByFactor(TagslibQuery query) {
        TagslibDAO dao = FacadeProxy.getAutoCommitProxy(TagslibDAO.class);
        return dao.queryByFactor(query);
    }

    /**
     * 查询标签用于info绑定
     *
     * @param cid
     * @return
     */
    public static List queryList(int cid) {
        TagslibDAO dao = FacadeProxy.getAutoCommitProxy(TagslibDAO.class);
        return dao.queryList(cid);
    }

    /**
     * 通过 tagid查询 tag
     *
     * @param tagid
     * @return
     */
    public static Tagslib queryByTagid(int id) {
        return FacadeProxy.getAutoCommitProxy(TagslibDAO.class).queryByTagid(id);
    }
}
